<?php
/*
	插件概览
*/

defined('BY_JYA') or exit('error');
$merchid=$this->checklogin();
$_RQ['op']=$_RQ['op']?$_RQ['op']:'list';
$return['templateid']=pdo_getall('jy_weishop_printer_template',array('merchid'=>$merchid,'uniacid'=>$_SESSION['uniacid']),array('id','title'),'id');
$return['templateid'][0]=array('id'=>0,'title'=>'默认模板');

if($this->plugin_exists('jy_feieyun')){
    $return['printerid']=pdo_getall('jy_feieyun_print',array('merchid'=>$merchid,'uniacid'=>$_SESSION['uniacid']),array('id','title'),'id');
}

if($this->plugin_exists('jy_xpyun')){
    $return['printerid']=pdo_getall('jy_xpyun_print',array('merchid'=>$merchid,'uniacid'=>$_SESSION['uniacid']),array('id','title'),'id');
}

$return['type']=array('1'=>'进云物联58打印机','2'=>'进云物联58打印机NEW','3'=>'进云物联80打印机');		
if($this->plugin_exists('jy_feieyun')){
	$return['type'][7]='飞鹅80打印机';
	$return['type'][9]='飞鹅58打印机';
	$return['printer7']=cfc('jy_feieyun')->getlist($merchid);
}
if($this->plugin_exists('jy_xpyun')){
	$return['type'][8]='芯烨58打印机';
	$return['type'][10]='芯烨80打印机';
	
	$return['printer8']=model('jy_xpyun/model')->getlist($merchid);
}

$return['print_type']=array('1'=>'下单后打印','2'=>'付款后打印','3'=>'确认收货后打印','4'=>'收银结账单','5'=>'收银付款小票','7'=>'退商品小票','8'=>'当日经营打印','9'=>'送商品小票','10'=>'加商品小票','11'=>'签到就诊','12'=>'预约下单小票');
$return['status']=array('0'=>'关闭','1'=>'开启');
$return['duo']=array('1'=>'打印','0'=>'不打印');
if($_RQ['op']=='list'){
	$pindex = max(1, intval($_SESSION['page']));
	$psize = 25;
	$params=array('uniacid'=>$_SESSION['uniacid'],'merchid'=>$merchid);
    $orderby='createtime desc';
	$total='';
	$return['list']=pdo_getslice('jy_weishop_printer',$params,array($pindex,$psize),$total,$fields,'',$orderby);
	$htmls=array(
			'type'=>'list',
			'tabs'=>array(
				array('op'=>'list','title'=>'打印任务管理'),
				array('op'=>'edit','title'=>'添加打印任务'),
			),
			'list'=>array('data'=>'list','tip'=>'[打印机常见问题]：
    		</br>1、<red>无线打印机掉线了,订单会漏吗？</red>：由于网络异常情况导致打印机掉线,打印机程序4分钟左右会自动重连,订单是缓存在服务器上面的,机器重连上会继续打印）
    		</br>2、<red>打印订单的时候,刚好没纸了,会漏打吗价格等？</red>不会,重新装上纸后,等几秒后,会补打一份
    		</br>3、<red>机器出现问题如何保修？</red>先电话咨询客服,确认故障,非人为因素机器免费保修一年
    		','list'=>array(
				array('name'=>'title','title'=>'任务名称','type'=>'string'),
				array('name'=>'type','title'=>'关联打印机类型','type'=>'radio','options'=>'type'),
				array('name'=>'templateid','title'=>'打印机模板','type'=>'select','options'=>'templateid'),
				array('name'=>'print_type','title'=>'订单打印时机','type'=>'radio','options'=>'print_type'),
				array('type'=>'radio','title'=>'打印模式','name'=>'tpl_type','options'=>'tpl_type'),
				array('name'=>'print_nums','title'=>'打印联数','type'=>'string'),
				array('name'=>'print_status','title'=>'是否启用','type'=>'switch','set'=>'set'),
			),
			),
	);
	$return['htmls']=$htmls;
	$return['goodstype']=array('全商品打印','按商品分类打印','指定商品打印');
	$return['tpl_type']=array('常规全单打印','单商品打印','单商品小标签打印','单商品大标签打印');
	exi($return);
}
if($_RQ['op']=='edit'){
	$id=intval($_RQ['id']);
	if($id){
	$item=pdo_get('jy_weishop_printer',array('id'=>$id));
	}else{
		$item=array();
	}
	$item['goods']=json_decode($item['goods'],true);
    $return['item']=$item;
	
	$htmls=array(
		'type'=>'edit',
		'post'=>'post',
		'desc'=>'打印机设置',
		'tabs'=>array(
			array('op'=>'list','title'=>'打印任务管理'),
			array('op'=>'edit','title'=>'添加打印任务')
		),
		'edit'=>array(
			array('name'=>'title','title'=>'打印任务名称','type'=>'string'),
			array('name'=>'type','title'=>'打印机类型','type'=>'radio','options'=>'type','help'=>'打印机类型一定要选择正确，不然会影响大于效果（V9打印出来的是宽纸效果，其他两个是窄纸效果！）'),
			array('name'=>'printerid','title'=>'选择打印机','type'=>'select','show'=>array('type <='=>3),'options'=>'printer','help'=>'（<red>只显示本商户的打印机</red>）前往设置添加，打印机：<a href="javascript:;" ng-click="access_json(\'jy_merch/manage.printlist/\')">./index.php?plugin=jy_merch&action=manage.printlist</a>'),			
			array('name'=>'printerid','title'=>'选择打印机','type'=>'select','show'=>array('type'=>array(7,9)),'options'=>'printer7','help'=>'（<red>只显示本商户的打印机</red>）前往设置添加，打印机：<a href="javascript:;" ng-click="access_json(\'jy_merch/manage.feiprintlist/\')">./index.php?plugin=jy_merch&action=manage.feiprintlist</a>'),
			array('name'=>'printerid','title'=>'选择打印机','type'=>'select','show'=>array('type'=>array(8,10)),'options'=>'printer8','help'=>'（<red>只显示本商户的打印机</red>）前往设置添加，打印机：<a href="javascript:;" ng-click="access_json(\'jy_xpyun/print/\')">./index.php?plugin=jy_xpyun&action=print</a>'),		
			array('type'=>'select','title'=>'选择打印机模板','name'=>'templateid','options'=>'templateid','help'=>'留空则用默认模板打印，在没设置好模板是请勿选择模板，否则可能影响打印。打印模板，请前往设置-打印机-打印机模板'),
			array('type'=>'radio','title'=>'订单打印时机','name'=>'print_type','options'=>'print_type'),
			array('type'=>'radio','title'=>'打印的商品','name'=>'goodstype','options'=>'goodstype'),
			//array('type'=>'radio','title'=>'打印进行模式','name'=>'source','options'=>'opportunity_type'),
			array('type'=>'checkbox','title'=>'按商品分类打印','name'=>'goodspids','options'=>'groups','show'=>array('goodstype'=>1)),
			array('type'=>'choose_many','title'=>'指定商品打印','name'=>'goods','action'=>'jy_merch/manage.get_goods/many/','show'=>array('goodstype'=>2)),
			array('type'=>'radio','title'=>'打印模式','name'=>'tpl_type','options'=>'tpl_type','help'=>'单商品打印：每个商品会单独打印出来，方便厨房，不同厨师各自下单制作！'),
			array('name'=>'print_toplogo','title'=>'头部LOGO','type'=>'image','show'=>array('type'=>array(7,8,9,10)),'help'=>'选择自定义模板后，本设置不生效'),
			array('name'=>'print_top','title'=>'打印头部','type'=>'text','help'=>'留空不打印','help'=>'选择自定义模板后，本设置不生效'),
			array('name'=>'print_remark','title'=>'打印温馨提示','type'=>'text','help'=>'留空不打印','help'=>'选择自定义模板后，本设置不生效'),
			array('name'=>'print_ewm','title'=>'打印二维码','type'=>'link','show'=>array('type'=>array(7,8,9,10)),'help'=>'选择自定义模板后，本设置不生效'),
			array('name'=>'print_nums','title'=>'打印联数','type'=>'string'),
			array('name'=>'print_status','title'=>'状态','type'=>'radio','options'=>'status'),
			)
	);
	$return['printer']=cfc('jy_print')->getlist($merchid);
	$return['opportunity_type']=array('未知','线上','线下');
	$return['goodstype']=array('全商品打印','按商品分类打印','指定商品打印');
	$return['tpl_type']=array('常规全单打印','单商品打印','单商品小标签打印','单商品大标签打印');
	$return['groups']=pdo_getall('jy_weishop_goods_group',array('uniacid'=>$_SESSION['uniacid'],'merchid'=>$merchid,'parentid'=>0),array('id','title'),'id');
	foreach($return['groups'] as $v){
		$id=$v['id'];
		$return['groups'][$id]=$v['title'];
	}
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='post'){
	$postdata=get_postdata();
	if($postdata['print_nums']>10){
		exi('节约环保！打印联数不能大于10。','error');
	}
	$data=array_fields(array('print_toplogo','print_remark','print_ewm','ismerch','templateid','print_top','print_type','goodspids','goodstype','tpl_type','storeid','print_status','title','type','printerid','print_nums'),$postdata);
	$data['goods']=ijson_encode($postdata['goods']);
	$id=intval($postdata['id']);
			if($id){
				pdo_update('jy_weishop_printer',$data,array('id'=>$id));
				exi('设置成功！','','list');
			}else{
				$data['merchid']=$merchid;
			    $data['uniacid']=$_SESSION['uniacid'];
				$data['createtime']=TIMESTAMP;
				pdo_insert('jy_weishop_printer',$data);
				exi('添加成功！','','list');
			}
}
if($_RQ['op']=='set'){
	$id=intval($_RQ['id']);
	if(!$id){
		exi('参数错误！','error');
	}
	$post=get_postdata();
	$update=array('print_status'=>$post['print_status']);
	if($update){
		pdo_update('jy_weishop_printer',$update,array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
	}
	exi('操作成功！');
}
if($_RQ['op']=='del'){

	$id=intval($_RQ['id']);
	if($id){
		pdo_delete('jy_weishop_printer',array('uniacid'=>$_SESSION['uniacid'],'merchid'=>$merchid,'id'=>$id));	
	}
	$del=trim($_RQ['del'],';');
	if($del){
		$del=explode(';',$del);
		foreach($del as $id){
			$id=intval($id);
			if($id){
				pdo_delete('jy_weishop_printer',array('uniacid'=>$_SESSION['uniacid'],'merchid'=>$merchid,'id'=>$id));
			}
		}
	}
	exi('删除成功！');
}